When audio and video data packets are being transmitted between a transmitter apparatus and a receiver apparatus, the data packets are interchanged on the basis of a transmission protocol. The transmission protocols which may be used include real-time protocols such as RTP (RTP—“Real Time Transport Protocol”). RTP is a protocol which is based on the so-called UDP/IP protocol (User Datagram Protocol/Internet Protocol). RTP was developed in order to provide synchronization between the transmitted data packets for real-time transmission in unipoint and multipoint links by means of the UDP/IP protocol, which is not secure or reliable. In conjunction with audio/video data packets in IP networks, RTP forms the basis for organized data transmission.
Fundamentally, an RTP data packet comprises the following parts: an RTP header and RTP payload data, with the RTP header comprising header data (see R. Schoblick: Das Real Time Transport Protocol, Funkschau [The Real-Time Transport Protocol, Radio Show], 26 (2000) 47). It is possible to distinguish between fixed elements and an optional extension (header extension) in the RTP header. The elements which are defined in the RTP header of each data packet include a sequence number, which indicates the position of the associated data packet in a sequence of data packets to be transmitted.
The RTP header also has a so-called timestamp, which is in the form of a time marking which can be used for this purpose in the receiver apparatus to counteract jitter phenomena caused by propagation time differences in order in this way to achieve the synchronization and time coordination of the transmitted RTP data packets in the receiver apparatus. The time marking (timestamp) normally indicates the time of transfer of the associated data packet from the transmitter apparatus to the data link which is used for transmission of the data packet between the transmission apparatus and the receiver apparatus. Alternatively, the time marking may, however, also be calculated in the future, with the intention of indicating the time at which the data in the packet in the receiver is intended to be passed on to the application.
The sequence number from the RTP header is used by the receiver apparatus in order to change the data packets (whose sequence with respect to one another will have been changed during the transmission via the data link) back to the correct sequence. This is done in the receiver apparatus in a queue memory area in which the data packets received in the receiver apparatus are organized in a sorting queue on the basis of their respective sequence number. There must always be a certain number of received data packets in the sorting queue for this sorting process in order to compensate for as many interchanges to data packets as possible occurring as a result of the transmission via the data link. If a data packet is passed on in the receiver apparatus too quickly from the sorting queue for processing, then data packets which arrive later and have a lower sequence number can no longer be put in the correct position. On the other hand, it is necessary to avoid excessively long waiting periods before the received data packets are released for further processing since it is also possible for packets to be lost during transmission via the data link, which would then result in infinite waiting times for the received data packets in the sorting queue. Furthermore, with regard to operation of the sorting queue, it is necessary to be aware that the data packets are generally processed immediately (in real time) in the receiver apparatus, and that the transmission rate of the transmitted data packets can change at any time. Known methods in which a fixed number of received data packets are temporarily stored in the sorting queue do not adequately satisfy these different requirements.